<!DOCTYPE html>
<html>
    <head>
        <meta charset='UTF-8' />
        <title>Performance Comparison Of ClickHouse On Various Hardware</title>

<style type='text/css'>

@font-face {
    font-family:'Yandex Sans Display Web';
    src:url(https://yastatic.net/adv-www/_/H63jN0veW07XQUIA2317lr9UIm8.eot);
    src:url(https://yastatic.net/adv-www/_/H63jN0veW07XQUIA2317lr9UIm8.eot?#iefix) format('embedded-opentype'),
            url(https://yastatic.net/adv-www/_/sUYVCPUAQE7ExrvMS7FoISoO83s.woff2) format('woff2'),
            url(https://yastatic.net/adv-www/_/v2Sve_obH3rKm6rKrtSQpf-eB7U.woff) format('woff'),
            url(https://yastatic.net/adv-www/_/PzD8hWLMunow5i3RfJ6WQJAL7aI.ttf) format('truetype'),
            url(https://yastatic.net/adv-www/_/lF_KG5g4tpQNlYIgA0e77fBSZ5s.svg#YandexSansDisplayWeb-Regular) format('svg');
    font-weight:400;
    font-style:normal;
    font-stretch:normal
}

body {
    background-color: #EEE;

    font-family: Arial, sans-serif;
    font-size: 14px;
}

h1, h2 {
    margin: 3px;
    font-family: 'Yandex Sans Display Web', Arial, sans-serif;
}

p {
    line-height: 1.5;
    white-space: pre-wrap;
}

a {
    text-decoration: none;
    color: #06F;
}

a:hover {
    text-decoration: underline;
    color: #F40;
}

.island {
    background-color: #FFF;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 8px 25px -5px rgba(0, 0, 0, 0.1);
    padding: 10px;
    width: 90%;
    margin: 10px auto 10px auto;
}

.title {
    font-size: 40px;
    font-weight: normal;
    text-align: center;
    margin: 0;
}

.subtitle {
    font-size: 50px;
    font-weight: normal;
    text-align: center;
    margin: 0;
}

.signature {
    text-align: right;
    margin: 0;
}

.terminal {
    font-family: Monospace;
    font-size: 9pt;
    color: #B2B2B2;
    background-color: #000;
    padding: 3px;
    border: 1px solid #AAA;
    white-space: pre-wrap;
}

.text-example {
    font-family: Monospace;
    font-size: 9pt;
    background-color: #FEC;
    padding: 3px;
    border: 1px solid #DDD;
    white-space: pre-wrap;
}

.inline-example {
    font-family: Monospace;
    font-size: 9pt;
    background-color: #FEC;
}

.informer {
    width: 1000px;
    margin: 20px auto 10px auto;
    text-align: right;
}

.show-example {
    display: none;
}

.show-hide-link {
    color: #06C;
    border-bottom: 1px dotted #06C;
}

.show-hide-link:hover {
    color: #F40;
    border-bottom: 1px dotted #F40;
    cursor: pointer;
}

.head-anchor {
    float: right;
    color: #AAA;
}

.head-anchor:hover {
    text-decoration: none;
}

.comparison_table {
    background-color: #EEE;
}

td {
    padding: 2px 5px 1px 5px;
}

th {
    padding: 5px 5px 5px 5px;
}

.query_cell {
    width: 300px;
    white-space: pre;
    overflow-x: hidden;
}

.query_cell:hover {
    width: auto;
    background-color: #FEC;
    position: absolute;
    padding: 3px;
    margin: -11px 0 0 -3px;
    overflow-x: auto;
    white-space: normal;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 8px 25px -5px rgba(0, 0, 0, 0.25);
}

.number_cell {
    text-align: right;
}

.comparison_table td {
    background-color: #FFF;
}

.comparison_table th {
    background-color: #F8F8F8;
}

#selectors {
    font-size: 20px;
    font-family: 'Yandex Sans Display Web', Arial, sans-serif;
    margin: 5px;
}

#selectors p span {
    border: 1px solid #DDD;
    background-color: #EEE;
    padding: 1px 5px 1px 5px;
    margin: 1px 5px 1px 5px;
    cursor: pointer;
    white-space: nowrap;
}

#selectors p span.selected {
    border: 1px solid #FC9;
    background-color: #FC9;
}

#selectors p span.disabled {
    color: #AAA;
    cursor: default;
}

.bar {
    background-color: #6AF;
    margin-top: 1px;
}

#diagram table tr td {
    border-left: 1px solid #EEE;
    border-top: 1px solid #EEE;
    background-color: #F8F8F8;
}

#diagram table tr td:last-child {
    border-right: 1px solid #EEE;
}

#diagram table tr:last-child td {
    border-bottom: 1px solid #EEE;
}

.diagram-system-name {
    text-align: right; width: 20%;
}

</style>

    </head>
    <body>

<script type="text/javascript">
function getParams() {
    var matches = document.cookie.match(/yandex_login=([\w\-]+)/);
    return (matches && matches.length == 2) ? { "login": matches[1] } : {};
}
</script>

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter18343495 = new Ya.Metrika2({
                    id:18343495,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true
                });
            } catch(e) { }
        });

        var n = d.getElementsByTagName("script")[0],
            s = d.createElement("script"),
            f = function () { n.parentNode.insertBefore(s, n); };
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://mc.yandex.ru/metrika/tag.js";

        if (w.opera == "[object Opera]") {
            d.addEventListener("DOMContentLoaded", f, false);
        } else { f(); }
    })(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/18343495" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<script type="text/javascript">

var queries =
[
    {
        "query": "SELECT count() FROM hits",
        "comment": "",
    },
    {
        "query": "SELECT count() FROM hits WHERE AdvEngineID != 0",
        "comment": "",
    },
    {
        "query": "SELECT sum(AdvEngineID), count(), avg(ResolutionWidth) FROM hits",
        "comment": "",
    },
    {
        "query": "SELECT sum(UserID) FROM hits",
        "comment": "",
    },
    {
        "query": "SELECT uniq(UserID) FROM hits",
        "comment": "",
    },
    {
        "query": "SELECT uniq(SearchPhrase) FROM hits",
        "comment": "",
    },
    {
        "query": "SELECT min(EventDate), max(EventDate) FROM hits",
        "comment": "",
    },
    {
        "query": "SELECT AdvEngineID, count() FROM hits WHERE AdvEngineID != 0 GROUP BY AdvEngineID ORDER BY count() DESC",
        "comment": "",
    },
    {
        "query": "SELECT RegionID, uniq(UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT RegionID, sum(AdvEngineID), count() AS c, avg(ResolutionWidth), uniq(UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT MobilePhoneModel, uniq(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT MobilePhone, MobilePhoneModel, uniq(UserID) AS u FROM hits WHERE MobilePhoneModel != '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT SearchPhrase, count() AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT SearchPhrase, uniq(UserID) AS u FROM hits WHERE SearchPhrase != '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT SearchEngineID, SearchPhrase, count() AS c FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT UserID, count() FROM hits GROUP BY UserID ORDER BY count() DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT UserID, SearchPhrase, count() FROM hits GROUP BY UserID, SearchPhrase ORDER BY count() DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT UserID, SearchPhrase, count() FROM hits GROUP BY UserID, SearchPhrase LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT UserID, toMinute(EventTime) AS m, SearchPhrase, count() FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY count() DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT UserID FROM hits WHERE UserID = 12345678901234567890",
        "comment": "",
    },
    {
        "query": "SELECT count() FROM hits WHERE URL LIKE '%metrika%'",
        "comment": "",
    },
    {
        "query": "SELECT SearchPhrase, any(URL), count() AS c FROM hits WHERE URL LIKE '%metrika%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT SearchPhrase, any(URL), any(Title), count() AS c, uniq(UserID) FROM hits WHERE Title LIKE '%Яндекс%' AND URL NOT LIKE '%.yandex.%' AND SearchPhrase != '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT * FROM hits WHERE URL LIKE '%metrika%' ORDER BY EventTime LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY SearchPhrase LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT SearchPhrase FROM hits WHERE SearchPhrase != '' ORDER BY EventTime, SearchPhrase LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT CounterID, avg(length(URL)) AS l, count() AS c FROM hits WHERE URL != '' GROUP BY CounterID HAVING c > 100000 ORDER BY l DESC LIMIT 25",
        "comment": "",
    },
    {
        "query": "SELECT domainWithoutWWW(Referer) AS key, avg(length(Referer)) AS l, count() AS c, any(Referer) FROM hits WHERE Referer != '' GROUP BY key HAVING c > 100000 ORDER BY l DESC LIMIT 25",
        "comment": "",
    },
    {
        "query": "SELECT sum(ResolutionWidth), sum(ResolutionWidth + 1), sum(ResolutionWidth + 2), sum(ResolutionWidth + 3), sum(ResolutionWidth + 4), sum(ResolutionWidth + 5), sum(ResolutionWidth + 6), sum(ResolutionWidth + 7), sum(ResolutionWidth + 8), sum(ResolutionWidth + 9), sum(ResolutionWidth + 10), sum(ResolutionWidth + 11), sum(ResolutionWidth + 12), sum(ResolutionWidth + 13), sum(ResolutionWidth + 14), sum(ResolutionWidth + 15), sum(ResolutionWidth + 16), sum(ResolutionWidth + 17), sum(ResolutionWidth + 18), sum(ResolutionWidth + 19), sum(ResolutionWidth + 20), sum(ResolutionWidth + 21), sum(ResolutionWidth + 22), sum(ResolutionWidth + 23), sum(ResolutionWidth + 24), sum(ResolutionWidth + 25), sum(ResolutionWidth + 26), sum(ResolutionWidth + 27), sum(ResolutionWidth + 28), sum(ResolutionWidth + 29), sum(ResolutionWidth + 30), sum(ResolutionWidth + 31), sum(ResolutionWidth + 32), sum(ResolutionWidth + 33), sum(ResolutionWidth + 34), sum(ResolutionWidth + 35), sum(ResolutionWidth + 36), sum(ResolutionWidth + 37), sum(ResolutionWidth + 38), sum(ResolutionWidth + 39), sum(ResolutionWidth + 40), sum(ResolutionWidth + 41), sum(ResolutionWidth + 42), sum(ResolutionWidth + 43), sum(ResolutionWidth + 44), sum(ResolutionWidth + 45), sum(ResolutionWidth + 46), sum(ResolutionWidth + 47), sum(ResolutionWidth + 48), sum(ResolutionWidth + 49), sum(ResolutionWidth + 50), sum(ResolutionWidth + 51), sum(ResolutionWidth + 52), sum(ResolutionWidth + 53), sum(ResolutionWidth + 54), sum(ResolutionWidth + 55), sum(ResolutionWidth + 56), sum(ResolutionWidth + 57), sum(ResolutionWidth + 58), sum(ResolutionWidth + 59), sum(ResolutionWidth + 60), sum(ResolutionWidth + 61), sum(ResolutionWidth + 62), sum(ResolutionWidth + 63), sum(ResolutionWidth + 64), sum(ResolutionWidth + 65), sum(ResolutionWidth + 66), sum(ResolutionWidth + 67), sum(ResolutionWidth + 68), sum(ResolutionWidth + 69), sum(ResolutionWidth + 70), sum(ResolutionWidth + 71), sum(ResolutionWidth + 72), sum(ResolutionWidth + 73), sum(ResolutionWidth + 74), sum(ResolutionWidth + 75), sum(ResolutionWidth + 76), sum(ResolutionWidth + 77), sum(ResolutionWidth + 78), sum(ResolutionWidth + 79), sum(ResolutionWidth + 80), sum(ResolutionWidth + 81), sum(ResolutionWidth + 82), sum(ResolutionWidth + 83), sum(ResolutionWidth + 84), sum(ResolutionWidth + 85), sum(ResolutionWidth + 86), sum(ResolutionWidth + 87), sum(ResolutionWidth + 88), sum(ResolutionWidth + 89) FROM hits",
        "comment": "",
    },
    {
        "query": "SELECT SearchEngineID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT URL, count() AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT 1, URL, count() AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT ClientIP AS x, x - 1, x - 2, x - 3, count() AS c FROM hits GROUP BY x, x - 1, x - 2, x - 3 ORDER BY c DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT    URL,    count() AS PageViews FROM hits WHERE    CounterID = 34    AND EventDate >= toDate('2013-07-01')    AND EventDate <= toDate('2013-07-31')    AND NOT DontCountHits    AND NOT Refresh    AND notEmpty(URL) GROUP BY URL ORDER BY PageViews DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT    Title,    count() AS PageViews FROM hits WHERE    CounterID = 34    AND EventDate >= toDate('2013-07-01')    AND EventDate <= toDate('2013-07-31')    AND NOT DontCountHits    AND NOT Refresh    AND notEmpty(Title) GROUP BY Title ORDER BY PageViews DESC LIMIT 10",
        "comment": "",
    },
    {
        "query": "SELECT    URL,    count() AS PageViews FROM hits WHERE    CounterID = 34    AND EventDate >= toDate('2013-07-01')    AND EventDate <= toDate('2013-07-31')    AND NOT Refresh    AND IsLink    AND NOT IsDownload GROUP BY URL ORDER BY PageViews DESC LIMIT 1000",
        "comment": "",
    },
    {
        "query": "SELECT    TraficSourceID,    SearchEngineID,    AdvEngineID,    ((SearchEngineID = 0 AND AdvEngineID = 0) ? Referer : '') AS Src,    URL AS Dst,    count() AS PageViews FROM hits WHERE    CounterID = 34    AND EventDate >= toDate('2013-07-01')    AND EventDate <= toDate('2013-07-31')    AND NOT Refresh GROUP BY    TraficSourceID,    SearchEngineID,    AdvEngineID,    Src,    Dst ORDER BY PageViews DESC LIMIT 1000",
        "comment": "",
    },
    {
        "query": "SELECT    URLHash,    EventDate,    count() AS PageViews FROM hits WHERE    CounterID = 34    AND EventDate >= toDate('2013-07-01')    AND EventDate <= toDate('2013-07-31')    AND NOT Refresh    AND TraficSourceID IN (-1, 6)    AND RefererHash = halfMD5('http://yandex.ru/') GROUP BY    URLHash,    EventDate ORDER BY PageViews DESC LIMIT 100",
        "comment": "",
    },
    {
        "query": "SELECT    WindowClientWidth,    WindowClientHeight,    count() AS PageViews FROM hits WHERE    CounterID = 34    AND EventDate >= toDate('2013-07-01')    AND EventDate <= toDate('2013-07-31')    AND NOT Refresh    AND NOT DontCountHits    AND URLHash = halfMD5('http://yandex.ru/') GROUP BY    WindowClientWidth,    WindowClientHeight ORDER BY PageViews DESC LIMIT 10000;",
        "comment": "",
    },
    {
        "query": "SELECT    toStartOfMinute(EventTime) AS Minute,    count() AS PageViews FROM hits WHERE    CounterID = 34    AND EventDate >= toDate('2013-07-01')    AND EventDate <= toDate('2013-07-02')    AND NOT Refresh    AND NOT DontCountHits GROUP BY    Minute ORDER BY Minute;",
        "comment": "",
    }
]

var results =
[
    {
        "system":       "Xeon Gold 6230, 2 sockets, 40 threads",
        "time":         "2020-01-01 00:00:00",
        "result":
        [
[0.009, 0.002, 0.001],
[0.028, 0.008, 0.009],
[0.055, 0.014, 0.014],
[0.122, 0.018, 0.018],
[0.157, 0.069, 0.068],
[0.217, 0.124, 0.121],
[0.020, 0.008, 0.008],
[0.013, 0.008, 0.007],
[0.284, 0.213, 0.217],
[0.312, 0.241, 0.239],
[0.164, 0.087, 0.090],
[0.168, 0.092, 0.092],
[0.318, 0.256, 0.251],
[0.436, 0.323, 0.325],
[0.385, 0.327, 0.327],
[0.419, 0.402, 0.398],
[1.061, 0.918, 0.935],
[0.523, 0.474, 0.598],
[1.706, 1.621, 1.657],
[0.124, 0.037, 0.024],
[1.192, 0.263, 0.258],
[1.362, 0.303, 0.302],
[2.473, 0.730, 0.735],
[2.857, 0.451, 0.382],
[0.374, 0.106, 0.103],
[0.204, 0.079, 0.078],
[0.381, 0.114, 0.109],
[1.185, 0.327, 0.318],
[1.011, 0.408, 0.415],
[0.895, 0.925, 0.880],
[0.406, 0.277, 0.274],
[0.846, 0.386, 0.389],
[3.174, 2.500, 2.533],
[1.758, 1.311, 1.315],
[1.766, 1.332, 1.355],
[0.469, 0.449, 0.462],
[0.201, 0.169, 0.170],
[0.069, 0.061, 0.061],
[0.064, 0.056, 0.057],
[0.362, 0.365, 0.369],
[0.035, 0.022, 0.024],
[0.030, 0.019, 0.019],
[0.009, 0.005, 0.005]
        ]
    },

    {
        "system":       "Yandex Cloud Cascade Lake, 64 vCPU (32 threads), 128 GB RAM, 400 GB SSD",
        "time":         "2020-01-11 00:00:00",
        "result":
        [
[0.037, 0.002, 0.002],
[0.113, 0.008, 0.014],
[0.275, 0.016, 0.016],
[0.448, 0.022, 0.022],
[0.472, 0.083, 0.082],
[0.808, 0.137, 0.136],
[0.063, 0.016, 0.010],
[0.055, 0.008, 0.008],
[0.753, 0.280, 0.327],
[0.850, 0.308, 0.305],
[0.540, 0.110, 0.105],
[0.533, 0.113, 0.112],
[0.930, 0.326, 0.314],
[1.463, 0.392, 0.374],
[0.994, 0.389, 0.386],
[0.763, 0.471, 0.499],
[1.890, 1.271, 1.280],
[1.335, 0.642, 1.776],
[3.886, 2.448, 2.370],
[0.452, 0.052, 0.029],
[5.834, 0.380, 0.374],
[6.645, 0.509, 0.385],
[12.401, 1.204, 1.146],
[12.727, 0.502, 0.513],
[1.628, 0.154, 0.128],
[0.739, 0.121, 0.144],
[1.632, 0.173, 0.127],
[5.856, 0.495, 0.568],
[4.960, 0.685, 0.784],
[1.619, 0.974, 1.638],
[1.420, 0.377, 0.361],
[3.379, 0.596, 0.580],
[5.797, 4.241, 4.280],
[6.864, 2.376, 2.224],
[6.834, 2.112, 2.118],
[0.996, 0.890, 0.947],
[0.286, 0.226, 0.218],
[0.110, 0.080, 0.077],
[0.146, 0.075, 0.068],
[0.531, 0.500, 0.438],
[0.076, 0.025, 0.027],
[0.054, 0.021, 0.022],
[0.033, 0.004, 0.004]
        ]
    },

    {
        "system":       "Yandex Cloud Cascade Lake, 64 vCPU (32 threads), 128 GB RAM, 4 TB SSD",
        "time":         "2020-01-13 00:00:00",
        "result":
        [
[0.054, 0.002, 0.002],
[0.140, 0.009, 0.015],
[0.139, 0.017, 0.020],
[0.430, 0.022, 0.022],
[0.453, 0.083, 0.082],
[0.839, 0.160, 0.159],
[0.058, 0.010, 0.010],
[0.048, 0.009, 0.008],
[0.706, 0.307, 0.288],
[0.821, 0.328, 0.301],
[0.509, 0.108, 0.106],
[0.534, 0.117, 0.116],
[0.905, 0.318, 0.313],
[1.573, 0.429, 0.413],
[0.960, 0.410, 0.403],
[0.769, 0.619, 0.521],
[1.914, 1.335, 1.272],
[1.279, 0.657, 1.215],
[3.839, 2.264, 2.481],
[0.425, 0.064, 0.027],
[5.605, 0.344, 0.367],
[6.389, 0.382, 0.403],
[11.794, 0.894, 0.878],
[11.730, 0.536, 0.436],
[1.540, 0.120, 0.109],
[0.715, 0.091, 0.106],
[1.553, 0.132, 0.132],
[5.580, 0.375, 0.350],
[4.720, 0.511, 0.480],
[1.025, 0.953, 1.008],
[1.475, 0.359, 0.357],
[3.457, 0.504, 0.495],
[4.688, 3.581, 3.673],
[6.325, 1.913, 1.865],
[6.338, 1.933, 2.030],
[0.961, 0.785, 0.847],
[0.267, 0.221, 0.215],
[0.095, 0.071, 0.078],
[0.148, 0.065, 0.071],
[0.516, 0.471, 0.432],
[0.076, 0.028, 0.025],
[0.053, 0.018, 0.021],
[0.034, 0.004, 0.004]
        ]
    },

    {
        "system":       "Yandex Cloud Cascade Lake, 4 vCPU (2 threads), 16 GB RAM, 30 GB SSD",
        "time":         "2020-01-13 00:00:00",
        "result":
        [
[0.621, 0.002, 0.002],
[0.288, 0.035, 0.030],
[1.023, 0.126, 0.132],
[5.152, 0.219, 0.194],
[0.458, 0.427, 0.447],
[6.848, 1.223, 1.232],
[0.271, 0.077, 0.058],
[0.130, 0.044, 0.032],
[3.722, 2.145, 2.159],
[2.571, 2.459, 2.490],
[0.764, 0.679, 0.721],
[0.892, 0.816, 0.816],
[5.743, 3.467, 3.294],
[5.177, 4.540, 4.596],
[5.294, 4.565, 4.510],
[5.109, 3.902, 3.845],
[14.256, 12.943, 12.882],
[8.741, 8.056, 9.738],
[30.649, 26.987, 26.702],
[2.063, 0.183, 0.239],
[54.740, 3.602, 3.559],
[54.077, 6.038, 4.264],
[107.285, 11.156, 9.986],
[114.734, 4.735, 4.673],
[15.581, 1.257, 1.249],
[3.779, 1.002, 0.992],
[4.864, 1.305, 1.305],
[55.450, 3.348, 3.230],
[46.372, 5.424, 5.263],
[6.437, 6.404, 6.179],
[11.933, 3.524, 3.546],
[20.803, 5.352, 5.216],
[43.065, 41.106, 41.870],
[58.396, 16.545, 16.610],
[51.752, 16.329, 16.221],
[6.722, 6.256, 6.391],
[0.533, 0.241, 0.237],
[0.113, 0.085, 0.077],
[0.093, 0.083, 0.074],
[0.624, 0.497, 0.492],
[0.286, 0.036, 0.028],
[0.088, 0.022, 0.021],
[0.099, 0.005, 0.005]
        ]
    },

    {
        "system":       "Yandex Cloud Broadwell, 4 vCPU (2 threads), 16 GB RAM, 30 GB SSD",
        "time":         "2020-01-14 00:00:00",
        "result":
        [
[0.507, 0.002, 0.002],
[0.267, 0.035, 0.034],
[0.970, 0.120, 0.121],
[4.600, 0.200, 0.194],
[0.554, 0.469, 0.462],
[7.314, 1.276, 1.251],
[0.164, 0.062, 0.063],
[0.159, 0.035, 0.036],
[5.551, 1.935, 1.946],
[2.291, 2.170, 2.188],
[0.718, 0.653, 0.686],
[0.841, 0.796, 0.776],
[7.636, 2.906, 2.849],
[6.644, 4.234, 3.796],
[3.847, 3.080, 3.029],
[4.308, 3.285, 3.214],
[9.768, 8.793, 8.694],
[6.103, 5.225, 6.072],
[20.421, 17.609, 17.372],
[2.141, 0.182, 0.189],
[55.415, 3.527, 3.553],
[55.961, 4.545, 4.011],
[106.069, 9.063, 8.975],
[116.871, 4.638, 4.542],
[16.100, 1.818, 1.186],
[2.543, 0.950, 0.933],
[5.086, 1.199, 1.192],
[55.720, 3.259, 3.240],
[46.784, 5.170, 5.190],
[6.505, 6.229, 6.191],
[11.382, 2.817, 2.863],
[22.205, 4.495, 4.348],
[34.430, 27.314, 27.662],
[58.643, 14.066, 14.196],
[50.675, 14.220, 13.868],
[5.674, 5.107, 5.219],
[0.577, 0.293, 0.272],
[0.151, 0.098, 0.094],
[0.107, 0.094, 0.089],
[0.692, 0.582, 0.610],
[0.302, 0.040, 0.036],
[0.101, 0.027, 0.026],
[0.094, 0.006, 0.006]
        ]
    },

    {
        "system":       "Dell PowerEdge R6415 DX180 AMD EPYC™ 7551P 32-Core Naples (Zen), 128 GB RAM, 2x SSD 960 GB RAID-1",
        "time":         "2020-01-13 00:00:00",
        "result":
        [
[0.007, 0.002, 0.001],
[0.030, 0.016, 0.014],
[0.042, 0.026, 0.026],
[0.078, 0.043, 0.042],
[0.143, 0.120, 0.117],
[0.239, 0.198, 0.198],
[0.022, 0.014, 0.014],
[0.016, 0.013, 0.015],
[0.388, 0.380, 0.384],
[0.476, 0.429, 0.411],
[0.201, 0.192, 0.191],
[0.204, 0.207, 0.192],
[0.676, 0.654, 0.637],
[0.890, 0.932, 0.940],
[0.730, 0.789, 0.738],
[0.658, 0.641, 0.678],
[1.556, 1.430, 1.529],
[0.819, 1.096, 0.906],
[3.569, 3.626, 3.508],
[0.083, 0.047, 0.077],
[0.812, 1.010, 0.601],
[1.097, 0.847, 0.864],
[2.654, 3.146, 3.169],
[1.595, 0.922, 0.877],
[0.259, 0.227, 0.236],
[0.206, 0.187, 0.181],
[0.245, 0.235, 0.232],
[0.974, 1.018, 1.012],
[1.280, 1.398, 1.243],
[2.171, 2.270, 2.284],
[0.594, 0.592, 0.602],
[0.976, 0.946, 0.966],
[4.543, 4.471, 4.364],
[3.844, 4.052, 3.858],
[3.932, 3.961, 3.982],
[1.128, 1.117, 1.146],
[0.233, 0.216, 0.221],
[0.088, 0.082, 0.085],
[0.075, 0.070, 0.070],
[0.465, 0.445, 0.435],
[0.036, 0.026, 0.031],
[0.028, 0.024, 0.021],
[0.010, 0.006, 0.006]
        ]
    },

    {
        "system":       "Dell PowerEdge R640 DX292 2x Xeon SP Gold 16-Core 2.10GHz, 196 GB RAM, 2x SSD 960 GB RAID-1",
        "time":         "2020-01-13 00:00:00",
        "result":
        [
[0.005, 0.003, 0.003],
[0.035, 0.013, 0.016],
[0.043, 0.023, 0.023],
[0.076, 0.030, 0.027],
[0.109, 0.087, 0.098],
[0.184, 0.154, 0.151],
[0.030, 0.017, 0.016],
[0.018, 0.017, 0.016],
[0.346, 0.357, 0.375],
[0.467, 0.397, 0.410],
[0.165, 0.135, 0.137],
[0.166, 0.146, 0.143],
[0.452, 0.432, 0.415],
[0.543, 0.523, 0.527],
[0.508, 0.489, 0.472],
[0.638, 0.551, 0.549],
[1.280, 1.231, 1.272],
[0.680, 0.748, 0.611],
[2.380, 2.465, 2.351],
[0.073, 0.065, 0.040],
[0.724, 0.371, 0.376],
[0.805, 0.474, 0.450],
[1.547, 1.064, 1.117],
[1.798, 0.543, 0.507],
[0.217, 0.145, 0.142],
[0.139, 0.122, 0.133],
[0.221, 0.161, 0.159],
[0.730, 0.440, 0.449],
[0.875, 0.744, 0.721],
[1.307, 1.259, 1.318],
[0.457, 0.401, 0.404],
[0.716, 0.688, 0.617],
[4.147, 4.251, 3.844],
[2.082, 1.950, 2.187],
[2.109, 2.095, 1.930],
[0.875, 0.851, 0.848],
[0.233, 0.235, 0.221],
[0.103, 0.087, 0.086],
[0.087, 0.078, 0.078],
[0.452, 0.407, 0.403],
[0.047, 0.041, 0.054],
[0.036, 0.034, 0.035],
[0.013, 0.010, 0.010]
        ]
    },

    {
        "system":       "E5-2650 v2 @ 2.60GHz, 2 sockets, 16 threads, 8xHDD RAID-5",
        "time":         "2020-01-12 00:00:00",
        "result":
        [
[0.101, 0.002, 0.002],
[0.196, 0.019, 0.021],
[0.486, 0.035, 0.029],
[0.413, 0.045, 0.043],
[0.368, 0.134, 0.105],
[0.563, 0.282, 0.269],
[0.078, 0.030, 0.025],
[0.070, 0.019, 0.014],
[0.751, 0.522, 0.558],
[0.856, 0.549, 0.547],
[0.458, 0.155, 0.163],
[0.439, 0.169, 0.190],
[0.929, 0.699, 0.608],
[1.494, 0.863, 0.902],
[1.379, 0.778, 0.794],
[1.032, 0.832, 0.851],
[2.364, 1.974, 1.914],
[1.284, 1.140, 1.043],
[4.745, 4.279, 4.294],
[0.713, 0.085, 0.071],
[4.133, 0.775, 0.729],
[3.485, 0.924, 0.880],
[7.568, 1.808, 1.853],
[9.496, 1.115, 1.119],
[1.130, 0.209, 0.243],
[0.643, 0.225, 0.211],
[1.338, 0.293, 0.233],
[4.353, 0.803, 0.759],
[2.667, 1.158, 1.070],
[2.612, 1.753, 1.721],
[1.370, 0.641, 0.704],
[2.348, 0.977, 1.015],
[6.154, 5.822, 5.696],
[4.553, 3.076, 3.232],
[4.647, 2.960, 3.249],
[1.441, 1.424, 1.285],
[0.560, 0.303, 0.245],
[0.223, 0.082, 0.084],
[0.275, 0.078, 0.076],
[0.929, 0.487, 0.416],
[0.362, 0.033, 0.049],
[0.179, 0.035, 0.022],
[0.075, 0.013, 0.013]
        ]
    },

    {
        "system":       "Time4vps.eu VPS (KVM) Linux Ubuntu 4 Core (Skylake) 16GB RAM 160GB Disk",
        "time":         "2020-01-13 00:00:00",
        "result":
        [
[0.068, 0.002, 0.002],
[0.124, 0.021, 0.025],
[0.594, 0.089, 0.077],
[2.300, 0.133, 0.090],
[2.710, 0.205, 0.212],
[5.203, 0.603, 0.610],
[0.090, 0.029, 0.036],
[0.118, 0.021, 0.022],
[5.977, 1.295, 1.206],
[3.909, 1.415, 1.452],
[2.551, 0.336, 0.324],
[3.123, 0.446, 0.409],
[4.075, 1.743, 1.661],
[6.427, 2.499, 2.487],
[5.775, 2.156, 2.431],
[3.322, 2.288, 2.276],
[8.642, 6.463, 6.690],
[6.365, 3.852, 3.757],
[20.426, 13.849, 13.695],
[2.507, 0.105, 0.100],
[30.691, 1.747, 1.699],
[30.206, 2.010, 1.943],
[57.155, 4.699, 4.859],
[50.924, 2.173, 2.119],
[10.907, 0.660, 0.686],
[3.636, 0.505, 0.524],
[8.388, 0.683, 0.627],
[27.423, 1.650, 1.703],
[21.309, 2.824, 2.821],
[4.227, 4.053, 4.037],
[8.198, 1.797, 1.776],
[18.853, 2.927, 2.881],
[22.254, 21.156, 20.854],
[29.323, 8.728, 8.621],
[27.889, 8.759, 9.063],
[4.121, 3.837, 3.934],
[0.452, 0.292, 0.247],
[0.221, 0.093, 0.090],
[0.331, 0.069, 0.074],
[0.703, 0.469, 0.506],
[0.211, 0.026, 0.027],
[0.134, 0.021, 0.021],
[0.121, 0.007, 0.006]
        ]
    },

    {
        "system":       "Lenovo B580 Laptop (i5-3210M)",
        "time":         "2020-01-11 00:00:00",
        "result":
        [
[0.035, 0.003, 0.005],
[0.093, 0.064, 0.060],
[0.265, 0.170, 0.167],
[0.880, 0.251, 0.266],
[0.954, 0.593, 0.561],
[2.140, 1.506, 1.525],
[0.148, 0.096, 0.105],
[0.064, 0.048, 0.044],
[2.727, 2.330, 2.280],
[3.386, 3.210, 2.951],
[1.218, 0.787, 0.749],
[1.293, 0.915, 0.904],
[3.713, 3.224, 3.190],
[4.943, 4.338, 4.310],
[4.503, 3.999, 3.918],
[4.001, 3.686, 4.144],
[10.714, 10.011, 10.035],
[7.456, 6.556, 6.675],
[20.201, 19.238, 19.135],
[0.888, 0.217, 0.209],
[9.685, 4.144, 4.023],
[11.201, 4.648, 4.636],
[21.037, 10.712, 10.571],
[18.186, 4.743, 4.743],
[2.844, 1.379, 1.358],
[1.623, 1.138, 1.130],
[2.861, 1.394, 1.417],
[9.691, 4.191, 4.129],
[10.285, 7.381, 7.379],
[6.879, 6.871, 6.829],
[4.131, 3.336, 3.240],
[7.157, 4.666, 4.616],
[29.371, 36.392, 29.946],
[17.929, 14.223, 14.127],
[17.058, 13.998, 14.055],
[5.667, 5.460, 5.408],
[0.325, 0.230, 0.217],
[0.115, 0.101, 0.094],
[0.148, 0.093, 0.084],
[0.585, 0.464, 0.459],
[0.078, 0.042, 0.035],
[0.057, 0.038, 0.032],
[0.024, 0.011, 0.010]
        ]
    },

    {
        "system":       "Dell PowerEdge R730xd, 2 socket 10 cores E5-2640 v4, HW RAID5 3TBx12 SATA",
        "time":         "2020-01-14 00:00:00",
        "result":
        [
[0.225, 0.001, 0.002],
[0.534, 0.010, 0.010],
[0.229, 0.025, 0.026],
[0.530, 0.042, 0.040],
[0.265, 0.094, 0.090],
[0.685, 0.224, 0.219],
[0.172, 0.013, 0.013],
[0.181, 0.010, 0.011],
[0.908, 0.418, 0.424],
[0.725, 0.450, 0.462],
[0.517, 0.138, 0.139],
[0.445, 0.168, 0.161],
[1.065, 0.585, 0.584],
[1.325, 0.756, 0.747],
[1.184, 0.627, 0.637],
[0.905, 0.676, 0.699],
[2.101, 1.848, 1.775],
[1.275, 0.927, 0.988],
[5.285, 4.201, 4.088],
[0.465, 0.040, 0.071],
[7.380, 0.557, 0.538],
[7.636, 0.665, 0.718],
[13.905, 1.685, 1.645],
[18.739, 0.828, 0.790],
[1.950, 0.195, 0.185],
[0.549, 0.163, 0.156],
[1.384, 0.205, 0.190],
[7.199, 0.650, 0.611],
[6.514, 0.935, 0.885],
[2.154, 2.034, 2.031],
[1.538, 0.546, 0.525],
[3.711, 0.916, 0.936],
[5.993, 4.973, 5.183],
[8.215, 2.759, 2.741],
[8.162, 2.795, 2.772],
[1.347, 1.074, 1.051],
[0.478, 0.208, 0.204],
[0.147, 0.077, 0.074],
[0.197, 0.066, 0.066],
[0.694, 0.438, 0.453],
[0.217, 0.024, 0.033],
[0.137, 0.032, 0.020],
[0.058, 0.006, 0.006]
        ]
    },

    {
        "system":       "Yandex Managed ClickHouse, s3.3xlarge, Cascade Lake 32 vCPU, 128 GB RAM, 1 TB local SSD",
        "time":         "2020-01-14 00:00:00",
        "result":
        [
[0.039, 0.041, 0.046],
[0.079, 0.084, 0.081],
[0.069, 0.068, 0.060],
[0.067, 0.065, 0.073],
[0.114, 0.116, 0.115],
[0.176, 0.171, 0.166],
[0.055, 0.058, 0.065],
[0.060, 0.061, 0.057],
[0.290, 0.290, 0.289],
[0.323, 0.315, 0.309],
[0.128, 0.124, 0.137],
[0.144, 0.136, 0.136],
[0.344, 0.326, 0.325],
[0.402, 0.392, 0.431],
[0.430, 0.436, 0.414],
[0.509, 0.485, 0.485],
[1.233, 1.151, 1.167],
[0.652, 0.651, 0.631],
[2.078, 2.076, 2.046],
[0.070, 0.071, 0.070],
[0.358, 0.327, 0.355],
[0.428, 0.403, 0.405],
[0.974, 0.986, 0.976],
[0.532, 0.549, 0.500],
[0.164, 0.169, 0.158],
[0.128, 0.130, 0.138],
[0.166, 0.169, 0.159],
[0.428, 0.449, 0.471],
[0.586, 0.598, 0.568],
[1.115, 1.115, 1.147],
[0.342, 0.344, 0.342],
[0.481, 0.473, 0.470],
[4.436, 3.273, 3.320],
[1.661, 1.542, 1.545],
[1.573, 1.875, 1.576],
[0.600, 0.566, 0.586],
[0.261, 0.255, 0.251],
[0.134, 0.136, 0.120],
[0.135, 0.133, 0.132],
[0.525, 0.531, 0.521],
[0.073, 0.071, 0.068],
[0.060, 0.071, 0.071],
[0.051, 0.057, 0.050]
        ]
    },

    {
        "system":       "Yandex Managed ClickHouse, s3.3xlarge, Cascade Lake 32 vCPU, 128 GB RAM, 12.5 TB local HDD",
        "time":         "2020-01-14 00:00:00",
        "result":
        [
[0.049, 0.049, 0.045],
[0.297, 0.079, 0.068],
[0.350, 0.059, 0.065],
[1.099, 0.068, 0.064],
[0.120, 0.123, 0.117],
[1.847, 0.202, 0.191],
[0.124, 0.056, 0.060],
[0.062, 0.058, 0.055],
[0.681, 0.321, 0.312],
[0.346, 0.349, 0.368],
[0.200, 0.140, 0.145],
[0.227, 0.142, 0.152],
[0.447, 0.410, 0.414],
[0.499, 0.570, 0.487],
[0.658, 0.467, 0.465],
[0.587, 0.576, 0.580],
[1.376, 1.340, 1.290],
[0.746, 0.748, 0.717],
[3.608, 2.427, 2.455],
[0.073, 0.106, 0.076],
[9.138, 0.422, 0.386],
[0.615, 0.463, 0.449],
[12.166, 1.067, 1.094],
[13.856, 0.735, 0.548],
[0.194, 0.187, 0.179],
[0.145, 0.140, 0.151],
[0.185, 0.180, 0.182],
[0.493, 0.507, 0.498],
[9.379, 0.618, 0.617],
[1.182, 1.187, 1.268],
[1.088, 0.402, 0.407],
[3.943, 0.646, 0.538],
[4.547, 3.858, 4.407],
[13.240, 1.776, 1.808],
[1.760, 1.823, 1.918],
[0.719, 0.693, 0.729],
[0.346, 0.309, 0.279],
[0.151, 0.143, 0.134],
[0.191, 0.141, 0.149],
[0.804, 0.550, 0.686],
[0.147, 0.093, 0.086],
[0.099, 0.085, 0.084],
[0.056, 0.059, 0.057]
        ]
    },

    {
        "system":       "Dell R530, 128GB DDR4, 2x480 GB SATA SSD, Perc H730 RAID-1",
        "time":         "2020-01-14 00:00:00",
        "result":
        [
[0.027, 0.002, 0.002],
[0.147, 0.017, 0.016],
[0.328, 0.034, 0.033],
[1.059, 0.050, 0.044],
[1.334, 0.123, 0.118],
[2.579, 0.239, 0.264],
[0.057, 0.020, 0.019],
[0.036, 0.019, 0.018],
[2.079, 0.648, 0.569],
[2.012, 0.631, 0.634],
[1.454, 0.158, 0.160],
[1.502, 0.178, 0.185],
[3.095, 0.722, 0.661],
[3.675, 0.816, 0.809],
[2.900, 0.903, 0.810],
[2.005, 0.861, 0.842],
[4.103, 1.983, 2.004],
[2.948, 1.200, 1.160],
[7.687, 4.411, 4.239],
[1.087, 0.054, 0.062],
[14.186, 0.651, 0.757],
[16.497, 0.739, 0.676],
[23.165, 1.703, 1.700],
[22.803, 0.898, 0.919],
[4.247, 0.317, 0.267],
[2.519, 0.214, 0.246],
[4.115, 0.316, 0.274],
[13.759, 0.805, 0.827],
[16.473, 1.215, 1.062],
[2.034, 1.870, 2.016],
[3.152, 0.677, 0.697],
[6.630, 1.216, 1.019],
[9.651, 6.131, 6.017],
[23.506, 3.416, 3.294],
[23.271, 3.547, 3.411],
[1.763, 1.344, 1.308],
[0.317, 0.215, 0.227],
[0.122, 0.090, 0.087],
[0.168, 0.074, 0.090],
[0.565, 0.419, 0.450],
[0.079, 0.037, 0.030],
[0.059, 0.032, 0.032],
[0.025, 0.015, 0.010]
        ]
    },

    {
        "system":       "Dell R530, 128GB DDR4, 6x2TB SATA 3.5 HDD, Perc H730 RAID-10",
        "time":         "2020-01-14 00:00:00",
        "result":
        [
[0.081, 0.002, 0.002],
[0.383, 0.017, 0.016],
[0.471, 0.045, 0.034],
[1.293, 0.041, 0.041],
[1.451, 0.124, 0.114],
[2.009, 0.255, 0.243],
[0.169, 0.019, 0.018],
[0.092, 0.015, 0.014],
[1.842, 0.626, 0.574],
[2.147, 0.660, 0.633],
[1.505, 0.160, 0.155],
[1.329, 0.214, 0.168],
[2.506, 0.563, 0.546],
[3.291, 0.772, 0.811],
[2.203, 0.785, 0.743],
[1.705, 1.021, 0.977],
[3.643, 2.176, 2.095],
[2.736, 1.191, 1.217],
[7.098, 4.738, 4.339],
[1.332, 0.070, 0.055],
[16.856, 0.819, 0.859],
[23.408, 0.819, 0.827],
[27.369, 1.893, 1.868],
[41.557, 0.988, 0.921],
[4.961, 0.297, 0.262],
[2.798, 0.243, 0.230],
[4.944, 0.290, 0.263],
[16.662, 0.813, 0.740],
[19.658, 1.169, 1.075],
[2.403, 1.972, 2.124],
[3.692, 0.662, 0.672],
[7.545, 0.998, 1.048],
[8.463, 6.183, 6.109],
[19.008, 3.160, 3.187],
[23.051, 3.281, 3.301],
[1.831, 1.285, 1.281],
[0.387, 0.224, 0.221],
[0.163, 0.094, 0.091],
[0.204, 0.077, 0.076],
[0.679, 0.412, 0.429],
[0.180, 0.041, 0.050],
[0.103, 0.031, 0.033],
[0.030, 0.017, 0.011]
        ]
    },

    {
        "system":       "Xeon 2176G, 64GB RAM, 2xSSD 960GB (SAMSUNG MZQLB960HAJR-00007), ZFS RAID-1",
        "time":         "2020-01-14 00:00:00",
        "result":
        [
[0.001, 0.001, 0.001],
[0.010, 0.011, 0.009],
[0.035, 0.031, 0.033],
[0.058, 0.056, 0.058],
[0.113, 0.126, 0.121],
[0.296, 0.300, 0.301],
[0.017, 0.016, 0.016],
[0.009, 0.009, 0.011],
[0.660, 0.659, 0.655],
[0.775, 0.746, 0.737],
[0.185, 0.181, 0.184],
[0.219, 0.237, 0.243],
[0.943, 0.933, 0.952],
[1.228, 1.185, 1.201],
[0.975, 0.963, 0.971],
[1.068, 1.086, 1.077],
[2.704, 2.713, 2.725],
[1.596, 1.564, 1.562],
[5.653, 5.571, 5.581],
[0.072, 0.065, 0.062],
[1.209, 0.958, 0.951],
[1.383, 1.222, 1.224],
[3.261, 2.771, 2.776],
[1.586, 1.210, 1.196],
[0.417, 0.392, 0.325],
[0.271, 0.268, 0.267],
[0.340, 0.338, 0.337],
[1.376, 1.160, 1.134],
[1.928, 1.643, 1.697],
[3.167, 3.135, 3.149],
[0.947, 0.859, 0.858],
[1.566, 1.446, 1.467],
[8.005, 8.065, 7.980],
[4.640, 4.322, 4.277],
[4.410, 4.330, 4.300],
[1.811, 1.749, 1.767],
[0.138, 0.142, 0.144],
[0.052, 0.047, 0.048],
[0.042, 0.043, 0.041],
[0.271, 0.249, 0.245],
[0.030, 0.016, 0.016],
[0.014, 0.013, 0.013],
[0.004, 0.004, 0.004]
        ]
    },

    {
        "system":       "Azure DS3v2 4vcpu 14GB RAM 1TB Standard SSD",
        "time":         "2020-01-15 00:00:00",
        "result":
        [
[0.709, 0.004, 0.004],
[1.052, 0.028, 0.025],
[2.075, 0.077, 0.080],
[2.700, 0.104, 0.101],
[2.858, 0.267, 0.259],
[4.058, 0.737, 0.718],
[0.597, 0.038, 0.049],
[0.598, 0.025, 0.024],
[3.786, 1.324, 1.313],
[3.982, 1.579, 1.562],
[2.995, 0.395, 0.395],
[3.279, 0.467, 0.470],
[4.301, 1.674, 1.690],
[6.499, 2.126, 2.132],
[4.774, 1.886, 1.927],
[3.484, 1.872, 1.818],
[7.813, 4.801, 5.006],
[6.032, 3.162, 3.106],
[13.991, 10.573, 10.665],
[2.750, 0.118, 0.101],
[25.608, 1.978, 1.960],
[29.117, 2.297, 2.303],
[53.220, 5.367, 5.325],
[51.767, 2.669, 2.465],
[7.509, 0.890, 0.865],
[3.827, 0.666, 0.653],
[7.574, 0.918, 0.899],
[25.753, 1.904, 1.898],
[21.624, 3.269, 3.192],
[5.454, 4.966, 4.975],
[6.569, 1.870, 1.912],
[14.536, 2.844, 2.863],
[18.908, 16.591, 16.820],
[27.527, 7.790, 7.738],
[27.556, 7.694, 7.695],
[4.168, 3.568, 3.426],
[1.185, 0.307, 0.252],
[0.483, 0.096, 0.093],
[0.519, 0.086, 0.088],
[1.274, 0.525, 0.496],
[1.048, 0.033, 0.034],
[0.379, 0.027, 0.036],
[0.599, 0.010, 0.009]
        ]
    },

    {
        "system":       "Azure DS3v2 4vcpu 14GB RAM 1TB Premium SSD",
        "time":         "2020-01-15 00:00:00",
        "result":
        [
[0.047, 0.004, 0.003],
[0.078, 0.023, 0.023],
[0.312, 0.077, 0.077],
[1.202, 0.105, 0.103],
[1.216, 0.260, 0.264],
[1.896, 0.751, 0.726],
[0.122, 0.041, 0.038],
[0.095, 0.028, 0.025],
[1.848, 1.304, 1.375],
[2.104, 1.534, 1.535],
[1.298, 0.394, 0.397],
[1.363, 0.469, 0.479],
[2.296, 1.728, 1.650],
[3.540, 2.320, 2.177],
[2.542, 1.863, 1.847],
[2.047, 1.861, 1.873],
[5.203, 4.830, 4.882],
[3.466, 3.131, 3.197],
[10.795, 10.396, 10.516],
[1.244, 0.111, 0.105],
[13.163, 2.019, 1.932],
[14.969, 2.346, 2.340],
[27.664, 5.259, 5.309],
[26.819, 2.589, 2.464],
[3.795, 0.902, 0.866],
[1.867, 0.665, 0.672],
[3.822, 0.919, 0.903],
[13.173, 1.916, 1.886],
[11.168, 3.253, 3.214],
[5.126, 5.290, 4.982],
[3.465, 1.866, 1.875],
[7.902, 3.009, 2.803],
[17.132, 17.154, 17.387],
[15.132, 7.755, 7.678],
[15.054, 7.779, 8.068],
[3.598, 3.590, 3.501],
[0.483, 0.279, 0.263],
[0.183, 0.094, 0.095],
[0.174, 0.084, 0.096],
[0.693, 0.480, 0.503],
[0.237, 0.038, 0.031],
[0.108, 0.029, 0.028],
[0.096, 0.010, 0.009]
        ]
    },

    {
        "system":       "AWS i3.8xlarge 32vCPU 244GiB 4x1900 NVMe SSD",
        "time":         "2020-01-15 00:00:00",
        "result":
        [
[0.009, 0.002, 0.002],
[0.053, 0.040, 0.021],
[0.043, 0.028, 0.027],
[0.109, 0.036, 0.035],
[0.147, 0.108, 0.100],
[0.296, 0.239, 0.239],
[0.017, 0.013, 0.015],
[0.013, 0.010, 0.011],
[0.524, 0.460, 0.445],
[0.589, 0.519, 0.510],
[0.186, 0.142, 0.140],
[0.210, 0.167, 0.164],
[0.659, 0.584, 0.529],
[0.781, 0.679, 0.665],
[0.709, 0.630, 0.613],
[0.642, 0.590, 0.588],
[1.723, 1.564, 1.557],
[1.027, 0.925, 0.909],
[3.618, 3.432, 3.411],
[0.123, 0.037, 0.049],
[1.318, 0.587, 0.570],
[1.368, 0.655, 0.646],
[2.847, 1.518, 1.495],
[2.431, 0.812, 0.764],
[0.366, 0.213, 0.193],
[0.237, 0.167, 0.158],
[0.374, 0.204, 0.211],
[1.310, 0.590, 0.597],
[1.260, 0.877, 0.870],
[1.966, 1.952, 1.967],
[0.692, 0.571, 0.566],
[1.080, 0.823, 0.827],
[5.017, 4.816, 4.843],
[3.072, 2.661, 2.726],
[3.006, 2.711, 2.688],
[1.071, 0.999, 1.024],
[0.231, 0.221, 0.221],
[0.094, 0.090, 0.086],
[0.093, 0.085, 0.075],
[0.488, 0.432, 0.451],
[0.046, 0.029, 0.030],
[0.030, 0.023, 0.022],
[0.012, 0.007, 0.007]
        ]
    },

    {
        "system":       "AWS m5d.24xlarge 96vCPU 384GiB 4x900 NVMe SSD",
        "time":         "2020-01-15 00:00:00",
        "result":
        [
[0.012, 0.002, 0.002],
[0.061, 0.017, 0.008],
[0.043, 0.014, 0.014],
[0.160, 0.017, 0.016],
[0.193, 0.074, 0.075],
[0.300, 0.120, 0.118],
[0.023, 0.009, 0.009],
[0.015, 0.009, 0.009],
[0.321, 0.206, 0.203],
[0.351, 0.238, 0.244],
[0.205, 0.113, 0.112],
[0.211, 0.106, 0.091],
[0.394, 0.213, 0.211],
[0.519, 0.270, 0.259],
[0.439, 0.292, 0.286],
[0.394, 0.301, 0.296],
[1.195, 0.829, 0.806],
[0.561, 0.743, 0.418],
[1.841, 1.660, 1.650],
[0.163, 0.041, 0.026],
[1.632, 0.251, 0.269],
[1.885, 0.265, 0.265],
[3.425, 0.644, 0.620],
[3.839, 0.431, 0.367],
[0.486, 0.092, 0.086],
[0.256, 0.081, 0.091],
[0.493, 0.107, 0.106],
[1.646, 0.275, 0.255],
[1.445, 0.332, 0.332],
[0.768, 0.702, 0.721],
[0.509, 0.280, 0.268],
[1.071, 0.382, 0.374],
[2.800, 2.452, 2.389],
[2.159, 1.134, 1.181],
[2.153, 1.145, 1.200],
[0.516, 0.457, 0.493],
[0.256, 0.182, 0.188],
[0.091, 0.073, 0.070],
[0.121, 0.063, 0.064],
[0.506, 0.399, 0.421],
[0.055, 0.030, 0.027],
[0.041, 0.019, 0.023],
[0.016, 0.006, 0.006]
        ]
    },

    {
        "system":       "AWS i3en.24xlarge 96vCPU 768GiB 8x7500 NVMe SSD",
        "time":         "2020-01-15 00:00:00",
        "result":
        [
[0.010, 0.002, 0.002],
[0.067, 0.009, 0.009],
[0.040, 0.014, 0.013],
[0.120, 0.017, 0.017],
[0.159, 0.076, 0.077],
[0.240, 0.116, 0.119],
[0.020, 0.010, 0.009],
[0.015, 0.010, 0.009],
[0.279, 0.195, 0.197],
[0.299, 0.230, 0.258],
[0.199, 0.088, 0.111],
[0.185, 0.094, 0.094],
[0.327, 0.212, 0.206],
[0.439, 0.271, 0.267],
[0.370, 0.281, 0.280],
[0.367, 0.306, 0.312],
[1.092, 0.931, 1.022],
[0.533, 0.599, 0.413],
[1.629, 1.921, 1.572],
[0.130, 0.031, 0.026],
[1.451, 0.264, 0.269],
[1.714, 0.273, 0.261],
[3.668, 0.636, 0.669],
[3.837, 0.472, 0.402],
[0.378, 0.107, 0.079],
[0.199, 0.070, 0.088],
[0.381, 0.104, 0.086],
[1.426, 0.284, 0.272],
[1.246, 0.363, 0.360],
[0.737, 0.708, 0.741],
[0.426, 0.246, 0.284],
[0.877, 0.420, 0.384],
[2.698, 2.390, 2.375],
[1.918, 1.223, 1.122],
[1.909, 1.234, 1.217],
[0.486, 0.482, 0.473],
[0.235, 0.187, 0.200],
[0.083, 0.069, 0.072],
[0.111, 0.063, 0.062],
[0.473, 0.433, 0.406],
[0.050, 0.028, 0.027],
[0.038, 0.022, 0.021],
[0.012, 0.006, 0.007]
        ]
    },

    {
        "system":       "Huawei TaiShan 2280 v2 (AArch64) 64 core (2-die), one physical HDD",
        "time":         "2020-01-15 00:00:00",
        "result":
        [
[0.356, 0.002, 0.002],
[0.333, 0.018, 0.017],
[0.608, 0.021, 0.021],
[1.885, 0.032, 0.032],
[0.598, 0.099, 0.097],
[2.884, 0.165, 0.167],
[0.356, 0.016, 0.014],
[0.349, 0.015, 0.015],
[0.981, 0.283, 0.296],
[0.783, 0.326, 0.328],
[0.580, 0.135, 0.136],
[0.511, 0.142, 0.142],
[1.060, 0.434, 0.438],
[1.069, 0.569, 0.566],
[1.116, 0.479, 0.479],
[0.825, 0.478, 0.486],
[1.899, 1.574, 1.590],
[1.260, 0.874, 0.849],
[5.456, 2.869, 2.903],
[0.418, 0.037, 0.034],
[19.336, 0.478, 0.494],
[22.442, 0.595, 0.595],
[45.958, 8.735, 1.363],
[41.321, 0.675, 0.706],
[6.074, 0.167, 0.159],
[0.925, 0.133, 0.133],
[1.151, 0.153, 0.152],
[19.627, 0.607, 0.622],
[16.496, 0.792, 0.787],
[1.770, 2.045, 1.242],
[4.827, 0.471, 0.466],
[7.695, 0.701, 0.647],
[5.246, 4.741, 4.676],
[20.496, 2.676, 2.628],
[20.338, 2.559, 2.557],
[1.696, 0.701, 0.724],
[0.665, 0.294, 0.302],
[0.402, 0.140, 0.137],
[0.366, 0.082, 0.086],
[0.867, 0.575, 0.552],
[0.334, 0.025, 0.025],
[0.333, 0.023, 0.022],
[0.340, 0.007, 0.007]
        ]
    },

    {
        "system":       "AWS m5ad.24xlarge 96vCPU 384GiB 4x900 NVMe SSD, AMD EPYC 7000 series 2.5 GHz",
        "time":         "2020-01-17 00:00:00",
        "result":
        [
[0.013, 0.002, 0.002],
[0.055, 0.020, 0.025],
[0.054, 0.027, 0.026],
[0.154, 0.035, 0.035],
[0.221, 0.117, 0.118],
[0.325, 0.171, 0.166],
[0.042, 0.021, 0.017],
[0.025, 0.017, 0.018],
[0.353, 0.253, 0.253],
[0.477, 0.610, 0.720],
[0.257, 0.154, 0.139],
[0.251, 0.130, 0.114],
[0.513, 0.293, 0.286],
[0.618, 0.360, 0.350],
[0.468, 0.336, 0.329],
[0.390, 0.333, 0.411],
[1.112, 0.936, 1.497],
[2.434, 1.350, 0.886],
[2.590, 2.069, 2.331],
[0.160, 0.048, 0.036],
[1.638, 0.334, 0.312],
[1.841, 0.423, 0.373],
[3.673, 1.122, 1.078],
[3.808, 0.912, 0.494],
[0.480, 0.112, 0.120],
[0.248, 0.107, 0.099],
[0.470, 0.118, 0.114],
[1.648, 0.544, 0.469],
[1.418, 0.583, 0.624],
[0.966, 1.231, 0.999],
[0.539, 0.311, 0.370],
[1.159, 0.712, 0.716],
[3.755, 2.772, 2.973],
[2.748, 2.033, 2.242],
[2.842, 2.150, 2.019],
[0.784, 0.616, 0.641],
[0.304, 0.273, 0.235],
[0.106, 0.086, 0.093],
[0.117, 0.073, 0.075],
[0.604, 0.453, 0.502],
[0.050, 0.036, 0.034],
[0.043, 0.023, 0.027],
[0.013, 0.008, 0.007]
        ]
    },

    {
        "system":       "Lenovo Thinkpad X1 Carbon 6th Gen i7-8550U CPU @ 1.80GHz 4 threads, 16 GiB",
        "time":         "2020-01-18 00:00:00",
        "result":
        [
[0.006, 0.002, 0.002],
[0.031, 0.019, 0.020],
[0.082, 0.078, 0.080],
[0.157, 0.093, 0.092],
[0.274, 0.214, 0.206],
[0.601, 0.513, 0.513],
[0.038, 0.045, 0.041],
[0.023, 0.018, 0.018],
[1.394, 1.378, 1.323],
[1.567, 1.496, 1.483],
[0.406, 0.328, 0.327],
[0.468, 0.414, 0.397],
[1.846, 1.753, 1.737],
[2.492, 2.423, 2.404],
[2.136, 2.064, 2.078],
[2.038, 1.971, 1.971],
[5.794, 5.679, 5.708],
[3.430, 3.498, 3.356],
[11.946, 11.738, 11.700],
[0.158, 0.105, 0.091],
[2.151, 1.551, 1.593],
[2.581, 1.990, 1.985],
[6.101, 5.390, 5.320],
[3.528, 2.341, 2.322],
[0.772, 0.699, 0.701],
[0.606, 0.583, 0.587],
[0.877, 0.723, 0.728],
[2.398, 1.916, 1.924],
[3.634, 3.272, 3.247],
[4.102, 4.082, 4.078],
[1.885, 1.784, 1.741],
[2.994, 2.691, 2.707],
[19.060, 18.852, 18.929],
[8.745, 8.476, 8.553],
[8.685, 8.406, 8.946],
[3.416, 3.426, 3.397],
[0.238, 0.234, 0.210],
[0.080, 0.071, 0.072],
[0.078, 0.066, 0.066],
[0.470, 0.407, 0.396],
[0.034, 0.030, 0.029],
[0.025, 0.021, 0.021],
[0.010, 0.007, 0.006]
        ]
    },

    {
        "system":       "E5645 @ 2.40GHz, 2 sockets, 12 threads, 96 GiB, 14 x 2TB HDD RAID-10",
        "time":         "2020-01-18 00:00:00",
        "result":
        [
[0.061, 0.003, 0.003],
[0.203, 0.026, 0.019],
[0.231, 0.056, 0.060],
[0.533, 0.080, 0.099],
[0.458, 0.202, 0.213],
[0.723, 0.468, 0.411],
[0.143, 0.034, 0.029],
[0.117, 0.025, 0.023],
[1.033, 0.810, 0.745],
[1.165, 0.916, 0.898],
[0.514, 0.249, 0.297],
[0.600, 0.343, 0.385],
[1.294, 1.156, 1.221],
[1.859, 1.459, 1.384],
[1.627, 1.349, 1.346],
[1.414, 1.269, 1.306],
[3.798, 3.774, 3.631],
[2.177, 2.054, 2.016],
[7.002, 6.187, 6.263],
[0.461, 0.081, 0.116],
[3.860, 1.296, 1.330],
[4.705, 1.587, 1.503],
[9.533, 3.887, 3.564],
[11.468, 1.932, 1.712],
[1.362, 0.451, 0.403],
[0.648, 0.374, 0.414],
[1.195, 0.437, 0.418],
[4.187, 1.686, 1.474],
[3.289, 2.146, 2.159],
[3.919, 4.242, 4.208],
[1.673, 1.084, 1.040],
[3.264, 1.496, 1.629],
[8.883, 8.965, 9.027],
[5.813, 5.225, 5.365],
[5.874, 5.376, 5.353],
[2.053, 1.910, 1.951],
[0.478, 0.324, 0.325],
[0.206, 0.132, 0.124],
[0.222, 0.105, 0.111],
[0.699, 0.599, 0.563],
[0.213, 0.041, 0.040],
[0.133, 0.032, 0.040],
[0.062, 0.010, 0.010]
        ]
    },

    {
        "system":       "AMD EPYC 7402P 2.8 GHz, 128 GB DDR4, SSD RAID1 2×1920 GB SSD (INTEL SSDSC2KB019T7)",
        "time":         "2020-01-26 00:00:00",
        "result":
        [
[0.014, 0.002, 0.002],
[0.031, 0.014, 0.010],
[0.077, 0.015, 0.015],
[0.255, 0.020, 0.019],
[0.286, 0.075, 0.073],
[0.452, 0.136, 0.135],
[0.025, 0.012, 0.012],
[0.021, 0.011, 0.011],
[0.431, 0.188, 0.188],
[0.491, 0.213, 0.214],
[0.308, 0.099, 0.097],
[0.319, 0.102, 0.098],
[0.491, 0.247, 0.248],
[0.786, 0.323, 0.316],
[0.574, 0.291, 0.291],
[0.414, 0.266, 0.267],
[1.097, 0.847, 0.835],
[0.748, 0.507, 0.505],
[1.977, 1.467, 1.488],
[0.264, 0.018, 0.029],
[2.937, 0.281, 0.254],
[3.288, 0.301, 0.283],
[6.502, 0.698, 0.687],
[7.260, 0.358, 0.351],
[0.796, 0.096, 0.095],
[0.399, 0.084, 0.083],
[0.873, 0.099, 0.101],
[3.215, 0.318, 0.300],
[2.680, 0.394, 0.391],
[1.099, 1.058, 1.055],
[0.802, 0.250, 0.251],
[1.823, 0.340, 0.341],
[2.750, 2.168, 2.157],
[3.638, 1.301, 1.267],
[3.583, 1.289, 1.288],
[0.455, 0.392, 0.393],
[0.279, 0.170, 0.159],
[0.089, 0.068, 0.066],
[0.135, 0.063, 0.061],
[0.479, 0.329, 0.341],
[0.059, 0.021, 0.020],
[0.042, 0.018, 0.020],
[0.011, 0.006, 0.006]
        ]
    },

    {
        "system":       "AMD EPYC 7402P 2.8 GHz, 128 GB DDR4, HDD RAID1 2×8000 GB HDD (TOSHIBA MG06ACA800E)",
        "time":         "2020-01-26 00:00:00",
        "result":
        [
[0.149, 0.002, 0.002],
[0.263, 0.012, 0.011],
[0.631, 0.017, 0.016],
[1.829, 0.023, 0.020],
[2.073, 0.078, 0.076],
[2.981, 0.176, 0.138],
[0.204, 0.022, 0.012],
[0.195, 0.011, 0.011],
[2.652, 0.195, 0.193],
[2.949, 0.226, 0.218],
[2.124, 0.101, 0.099],
[2.369, 0.106, 0.102],
[2.978, 0.254, 0.248],
[4.546, 0.328, 0.321],
[3.391, 0.298, 0.297],
[2.211, 0.269, 0.268],
[4.889, 0.850, 0.842],
[4.627, 0.514, 0.505],
[8.805, 1.506, 1.432],
[1.979, 0.034, 0.044],
[18.744, 0.315, 0.248],
[22.946, 0.301, 0.276],
[41.584, 0.703, 0.692],
[42.963, 0.392, 0.335],
[5.992, 0.130, 0.096],
[3.050, 0.096, 0.085],
[6.390, 0.115, 0.101],
[20.038, 0.319, 0.296],
[17.610, 0.408, 0.396],
[1.187, 1.056, 1.055],
[5.134, 0.254, 0.249],
[10.690, 0.348, 0.341],
[9.296, 2.190, 2.149],
[20.999, 1.258, 1.258],
[22.020, 1.256, 1.254],
[1.715, 0.400, 0.390],
[0.403, 0.169, 0.164],
[0.147, 0.069, 0.069],
[0.137, 0.063, 0.062],
[0.568, 0.344, 0.359],
[0.152, 0.027, 0.021],
[0.076, 0.018, 0.017],
[0.021, 0.006, 0.006]
        ]
    },

    {
        "system":       "Intel Xeon E5-1650v3 3.5 GHz, 64 GB DDR4, RAID1 2×480 GB SSD (INTEL SSDSC2BB480G4)",
        "time":         "2020-01-26 00:00:00",
        "result":
        [
[0.005, 0.001, 0.001],
[0.025, 0.015, 0.016],
[0.085, 0.039, 0.034],
[0.302, 0.052, 0.057],
[0.313, 0.137, 0.136],
[0.639, 0.426, 0.434],
[0.036, 0.027, 0.027],
[0.021, 0.014, 0.014],
[0.871, 0.707, 0.707],
[1.060, 0.812, 0.811],
[0.521, 0.285, 0.290],
[0.548, 0.331, 0.339],
[1.358, 0.987, 0.983],
[1.832, 1.317, 1.326],
[1.464, 1.165, 1.134],
[1.311, 1.115, 1.111],
[3.426, 3.060, 3.069],
[2.113, 1.832, 1.849],
[7.000, 6.235, 6.309],
[0.293, 0.067, 0.074],
[3.325, 1.062, 1.030],
[3.765, 1.296, 1.311],
[7.438, 2.870, 2.831],
[7.820, 1.318, 1.277],
[1.139, 0.412, 0.405],
[0.704, 0.372, 0.362],
[1.154, 0.428, 0.427],
[3.557, 1.103, 1.060],
[3.249, 1.680, 1.666],
[2.411, 2.364, 2.312],
[1.365, 0.993, 1.003],
[2.696, 1.535, 1.523],
[9.226, 8.948, 8.734],
[6.053, 4.337, 4.321],
[6.020, 4.341, 4.300],
[1.919, 1.790, 1.759],
[0.220, 0.160, 0.161],
[0.085, 0.067, 0.061],
[0.116, 0.061, 0.061],
[0.431, 0.335, 0.320],
[0.050, 0.037, 0.025],
[0.083, 0.016, 0.019],
[0.029, 0.006, 0.006]
        ]
    },

    {
        "system":       "Selectel Cloud, 16 vCPU, 32 GB RAM, 'fast disk'",
        "time":         "2020-01-26 00:00:00",
        "result":
        [
[0.017, 0.002, 0.002],
[0.047, 0.011, 0.012],
[0.070, 0.024, 0.024],
[0.350, 0.033, 0.031],
[0.353, 0.087, 0.091],
[0.623, 0.233, 0.226],
[0.040, 0.018, 0.019],
[0.021, 0.011, 0.011],
[0.628, 0.420, 0.415],
[0.725, 0.466, 0.468],
[0.389, 0.152, 0.151],
[0.416, 0.181, 0.172],
[0.819, 0.481, 0.495],
[1.332, 0.714, 0.719],
[1.044, 0.853, 0.796],
[0.865, 0.827, 0.846],
[2.010, 1.816, 1.798],
[1.097, 0.940, 0.927],
[4.414, 4.188, 4.310],
[0.336, 0.034, 0.030],
[4.807, 0.541, 0.527],
[5.494, 0.633, 0.608],
[10.233, 1.448, 1.469],
[9.897, 0.721, 0.676],
[1.322, 0.212, 0.213],
[0.594, 0.177, 0.175],
[1.319, 0.218, 0.216],
[4.804, 0.615, 0.567],
[4.093, 0.855, 0.801],
[1.428, 1.378, 1.300],
[1.299, 0.649, 0.646],
[2.921, 0.835, 0.809],
[5.717, 5.883, 6.368],
[5.655, 2.715, 2.666],
[5.943, 3.008, 2.795],
[1.091, 1.011, 1.089],
[0.264, 0.212, 0.221],
[0.097, 0.085, 0.081],
[0.083, 0.081, 0.075],
[0.498, 0.531, 0.446],
[0.063, 0.031, 0.033],
[0.029, 0.022, 0.022],
[0.006, 0.006, 0.005],
        ]
    },

    {
        "system":       "Selectel Cloud, 16 vCPU, 32 GB RAM, 'basic disk'",
        "time":         "2020-01-26 00:00:00",
        "result":
        [
[0.142, 0.002, 0.002],
[0.090, 0.014, 0.013],
[0.478, 0.023, 0.023],
[2.305, 0.032, 0.032],
[2.371, 0.090, 0.087],
[3.377, 0.228, 0.224],
[0.080, 0.020, 0.017],
[0.034, 0.009, 0.009],
[3.210, 0.425, 0.414],
[3.389, 0.471, 0.459],
[2.446, 0.157, 0.152],
[2.331, 0.187, 0.177],
[3.826, 0.503, 0.505],
[5.749, 0.725, 0.701],
[4.521, 0.752, 0.705],
[2.345, 0.572, 0.588],
[6.360, 1.697, 1.512],
[5.928, 0.949, 0.908],
[11.325, 3.598, 3.829],
[6.485, 0.126, 0.033],
[24.494, 0.550, 0.519],
[27.711, 0.615, 0.594],
[52.599, 1.455, 1.435],
[50.820, 1.001, 0.648],
[6.933, 0.206, 0.203],
[3.278, 0.177, 0.172],
[7.082, 0.216, 0.206],
[24.399, 0.564, 0.541],
[20.916, 0.812, 0.801],
[1.574, 1.323, 1.358],
[6.717, 0.558, 0.550],
[13.772, 0.830, 0.801],
[12.547, 5.084, 4.637],
[25.178, 2.601, 2.337],
[25.118, 2.460, 2.432],
[1.626, 0.901, 0.895],
[0.286, 0.206, 0.209],
[0.130, 0.081, 0.083],
[0.220, 0.075, 0.076],
[6.502, 0.495, 0.520],
[0.223, 0.024, 0.024],
[0.045, 0.028, 0.030],
[0.006, 0.005, 0.004]
        ]
    },

    {
        "system":       "Selectel Cloud, 16 vCPU, 32 GB RAM, 'universal disk'",
        "time":         "2020-01-26 00:00:00",
        "result":
        [
[0.016, 0.002, 0.002],
[0.055, 0.023, 0.009],
[0.252, 0.020, 0.019],
[1.337, 0.038, 0.031],
[1.342, 0.088, 0.086],
[2.192, 0.241, 0.222],
[0.047, 0.017, 0.016],
[0.017, 0.009, 0.009],
[1.946, 0.410, 0.412],
[2.262, 0.454, 0.455],
[1.427, 0.158, 0.150],
[1.487, 0.181, 0.172],
[2.327, 0.481, 0.464],
[3.794, 0.657, 0.633],
[2.582, 0.596, 0.602],
[1.708, 0.673, 0.670],
[4.431, 1.545, 1.622],
[3.661, 0.890, 0.871],
[7.950, 3.954, 3.844],
[1.327, 0.055, 0.031],
[16.200, 0.538, 0.523],
[18.455, 0.613, 0.599],
[34.059, 1.428, 1.436],
[31.534, 0.713, 0.653],
[4.576, 0.205, 0.201],
[2.155, 0.177, 0.172],
[4.574, 0.208, 0.206],
[16.201, 0.554, 0.534],
[13.787, 0.840, 0.809],
[1.443, 1.408, 1.331],
[3.815, 0.561, 0.536],
[8.831, 0.778, 0.761],
[9.031, 4.476, 4.428],
[16.938, 2.347, 2.287],
[17.093, 2.722, 2.257],
[1.133, 0.897, 0.888],
[0.240, 0.207, 0.202],
[0.101, 0.083, 0.082],
[0.086, 0.075, 0.074],
[0.467, 0.450, 0.440],
[0.060, 0.028, 0.024],
[0.028, 0.020, 0.020],
[0.006, 0.005, 0.005]
        ]
    },
];

</script>

<script type="text/javascript">

var systems = [];
var systems_uniq = {};
for (r in results) {
    if (systems_uniq[results[r].system])
       continue;
    systems_uniq[results[r].system] = 1;
    systems.push(results[r].system);
}

var current_systems = [
'Xeon Gold 6230, 2 sockets, 40 threads',
'Dell PowerEdge R640 DX292 2x Xeon SP Gold 16-Core 2.10GHz, 196 GB RAM, 2x SSD 960 GB RAID-1',
'E5-2650 v2 @ 2.60GHz, 2 sockets, 16 threads, 8xHDD RAID-5'];

var runs = ["first (cold cache)", "second", "third"];
var current_runs = ['1', '2'];

try {
    var state = JSON.parse(decodeURIComponent(window.location.hash.substring(1)));

    current_systems = state[0];
    current_runs = state[1];
} catch (e) {}

function update_hash() {
    window.location.hash = JSON.stringify([ current_systems, current_runs ]);
}


function generate_selectors(elem) {
    var html = "<p id='systems_selector'>Compare: ";

    var available_systems = results.map(function(run) { return run.system; });

    for (var i = 0; i < systems.length; i++) {
        var selected = current_systems.indexOf(systems[i]) != -1;
        var available = available_systems.indexOf(systems[i]) != -1;

        html += "<span class='" +
            (selected && available ? "selected" : "") +
            (available ? "" : " disabled") +
            "'>" + systems[i] + "</span> ";
    }

    html += "</p>";
    html += "<p id='runs_selector'>";

    html += "Run number: ";

    for (var i = 0; i < runs.length; i++) {
        html += "<span class='" + (current_runs.indexOf(String(i)) != -1 ? "selected" : "") + "' data-run-id='" + i + "'>" + runs[i] + "</span> ";
    }

    html += "</p>";

    elem.html(html);

    $('#systems_selector span:not(.disabled)').click(function(event) {
        var target = $(event.target || event.srcElement);

        if (target.hasClass("selected") && current_systems.length == 1) {
            return;
        }

        target.toggleClass("selected");

        current_systems = $.map($('#systems_selector span'), function(elem) {
            return $(elem).hasClass("selected") ? $(elem).html() : null }).filter(function(x) { return x; });

        update_hash();
        generate_selectors(elem);
        generate_comparison_table();
        generate_diagram();
    });

    $('#runs_selector span').click(function(event) {
        var target = $(event.target || event.srcElement);

        if (target.hasClass("selected") && current_runs.length == 1) {
            return;
        }

        target.toggleClass("selected");

        current_runs = $.map($('#runs_selector span'), function(elem) {
            return $(elem).hasClass("selected") ? $(elem).attr("data-run-id") : null }).filter(function(x) { return x; });

        update_hash();
        generate_selectors(elem);
        generate_comparison_table();
        generate_diagram();
    });
};


function format_number_cell(value, ratio) {
    var html = "";

    var redness = (ratio - 1) / ratio;
    var blackness = ratio < 10 ? 0 : ((ratio - 10) / ratio / 2);

    var color = !value ? "#FFF" :
        ratio == 1 ?
            ("rgba(0, 255, 0, 1)") :
            ("rgba(" + ~~(255 * (1 - blackness)) + ", 0, 0, " + redness + ")");

    html += "<td class='number_cell' style='background-color: " + color + "'>";
    html += value ?
        (ratio == 1 ? "" : ("x" + ratio.toFixed(2))) + "&nbsp;<span style='color: #888;'>(" + value.toFixed(3) + "&nbsp;s.)</span>" :
        "—";
    html += "</td>";

    return html;
}


/* Отношения времени выполнения запроса к лучшему времени по системам:
 *  номер системы -> номер запуска -> номер запроса -> отношение.
 */
var ratios = [];


function generate_comparison_table() {
    ratios = [];

    var filtered_results = results.filter(function(x) { return current_systems.indexOf(x.system) != -1; });

    var html = "";

    html += "<table class='comparison_table'>";

    html += "<tr>";
    html += "<th><input id='query_checkbox_toggler' type='checkbox' checked /></th>";
    html += "<th style='text-align: left;'>Query</th>";
    for (var j = 0; j < filtered_results.length; j++) {
        html += "<th colspan='" + current_runs.length + "'>" + filtered_results[j].system +
            (filtered_results[j].version ? " (" + filtered_results[j].version + ")" : "") + "</th>";
    }
    html += "</tr>";

    for (var i = 0; i < queries.length; i++) {
        html += "<tr>";
        html += "<td><input id='query_checkbox" + i + "' type='checkbox' " +
            ($('#query_checkbox' + i).length == 0 || $('#query_checkbox' + i).is(':checked') ? "checked" : "") + " /></td>";

        html += "<td><div class='query_cell'>" + queries[i].query + "</div></td>";

        // Вычислим максимальное и минимальное время выполнения по системам, для каждого из трёх прогонов.
        var minimums = [0, 0, 0], maximums = [0, 0, 0];

        for (var j = 0; j < filtered_results.length; j++) {
            for (var current_run_idx = 0; current_run_idx < current_runs.length; current_run_idx++) {
                var k = current_runs[current_run_idx];
                var value = filtered_results[j].result[i][k];

                if (value && (!minimums[k] || value < minimums[k])) {
                    minimums[k] = value;

                    // Меньше 10 мс. не различаем.
                    if (minimums[k] < 0.01) {
                        minimums[k] = 0.01;
                    }
                }

                if (value > maximums[k]) {
                    maximums[k] = value;
                }
            }
        }

        for (var j = 0; j < filtered_results.length; j++) {
            if (!ratios[j]) {
                ratios[j] = [];
            }

            for (var current_run_idx = 0; current_run_idx < current_runs.length; current_run_idx++) {
                var k = current_runs[current_run_idx];
                var value = filtered_results[j].result[i][k];

                var ratio = value / minimums[k];

                ratios[j][k] = ratios[j][k] || [];

                if (ratio && ratio <= 1) {
                    ratio = 1;
                }

                ratios[j][k].push(ratio);

                html += format_number_cell(value, ratio);
            }
        }
        html += "</tr>";
    }

    if (current_systems.length) {
        html += "<tr>";
        html += "<td rowspan='2'></td>";
        html += "<td rowspan='2'><div class='query_cell'>Geometric mean of ratios</div></td>";

        for (var j = 0; j < filtered_results.length; j++) {
            for (var k = 0; k < current_runs.length; k++) {
                html += "<th id='totals" + j + "_" + current_runs[k] + "' class='number_cell' style='text-align: center; background-color: #FFF; font-weight: bold;'></th>";
            }
        }

        html += "</tr>";
        html += "<tr>";

        for (var j = 0; j < filtered_results.length; j++) {
            html += "<th id='absolute_totals" + j + "' colspan='" + current_runs.length + "' class='number_cell' style='text-align: center; background-color: #FFF; font-weight: bold;'></th>";
        }

        html += "</tr>";
    }

    html += "</table>";

    $('#comparison_table').html(html);

    for (var i = 0; i < queries.length; i++) {
        $('#query_checkbox' + i).click(function() { calculate_totals(); generate_diagram(); } );
    }
    $('#query_checkbox_toggler').click(function() {
        for (var i = 0; i < queries.length; i++) {
            var item = $('#query_checkbox' + i);
            item.prop("checked", !item.prop("checked"));
        }
    });

    calculate_totals();
}


function calculate_totals() {
    if (!current_systems.length) return;

    var filtered_results = results.filter(function(x) { return current_systems.indexOf(x.system) != -1; });

    var total_ratios = [];

    for (var j = 0; j < filtered_results.length; j++) {
        for (var current_run_idx = 0; current_run_idx < current_runs.length; current_run_idx++) {
            var k = current_runs[current_run_idx];

            var current_ratios = ratios[j][k].filter(
                function(x, i) {
                    return x && $("#query_checkbox" + i).is(':checked');
                }
            );

            var ratio = Math.pow(
                current_ratios.reduce(
                    function(acc, cur) { return acc * cur; },
                    1),
                1 / current_ratios.length);

            total_ratios[j] = total_ratios[j] || 1;
            total_ratios[j] *= ratio;

            $("#totals" + j + "_" + k).attr("data-ratio", ratio).html("x" + ratio.toFixed(2));
        }
    }

    for (var j = 0; j < filtered_results.length; j++) {
        var total_ratio = Math.pow(total_ratios[j], 1 / current_runs.length);
        $("#absolute_totals" + j).attr("data-ratio", total_ratio).html("x" + total_ratio.toFixed(2));
    }
}


function generate_diagram() {
    var html = "";

    var filtered_results = results.filter(function(x) { return current_systems.indexOf(x.system) != -1; });

    var max_ratio = 1;
    var min_ratio = 0;

    var max_total_ratio = 1;
    var min_total_ratio = 0;

    for (var j = 0; j < filtered_results.length; j++) {
        for (var current_run_idx = 0; current_run_idx < current_runs.length; current_run_idx++) {
            var k = current_runs[current_run_idx];
            var ratio = +$("#totals" + j + "_" + k).attr("data-ratio");

            if (ratio > max_ratio) {
                max_ratio = ratio;
            }

            if (!min_ratio || ratio < min_ratio) {
                min_ratio = ratio;
            }
        }

        var total_ratio = +$("#absolute_totals" + j).attr("data-ratio");

        if (total_ratio > max_total_ratio) {
            max_total_ratio = total_ratio;
        }

        if (!min_total_ratio || total_ratio < min_total_ratio) {
            min_total_ratio = total_ratio;
        }
    }

    html += "<table style='width: 100%'>";

    var table_rows = [];

    for (var j = 0; j < filtered_results.length; j++) {
        var total_ratio = +$("#absolute_totals" + j).attr("data-ratio");
        var table_row = "";

        table_row += "<tr>";
        table_row += "<td class='diagram-system-name'>" + filtered_results[j].system +
            (filtered_results[j].version ? "<br />(" + filtered_results[j].version.replace(/ /g, '&nbsp;') + ")" : "") + "</td>";

        table_row += "<td style='width: 100%; padding-right: 20px;'>";

        for (var current_run_idx = 0; current_run_idx < current_runs.length; current_run_idx++) {
            var k = current_runs[current_run_idx];

            var ratio = +$("#totals" + j + "_" + k).attr("data-ratio");
            var percents = (ratio * 100 / max_ratio).toFixed(2);

            if (!ratio) {
                ratio = +$("#absolute_totals" + j).attr("data-ratio");
                percents = (ratio * 100 / max_total_ratio).toFixed(2);
            }

            table_row += "<div class='bar' style='width: " + percents + "%;'>&nbsp;</div>";

        }

        table_row += "</td>";

        table_row += "<td style='text-align: right; font-weight: bold;'>" + (total_ratio / min_total_ratio).toFixed(2) + "</td>";
        table_row += "</tr>";

        table_rows.push({ data: table_row, value: total_ratio / min_total_ratio });
    }

    table_rows.sort(function(a, b) { return a.value - b.value; });

    for (var j = 0; j < table_rows.length; j++) {
        html += table_rows[j].data;
    }

    html += "</table>";

    $('#diagram').html(html);
}


</script>

<!-- Yandex.Metrika counter -->
<script src="https://mc.yandex.ru/metrika/watch.js" type="text/javascript"></script>
<script type="text/javascript">
try { var yaCounter18343495 = new Ya.Metrika({id:18343495,
          webvisor:true,
          clickmap:true,
          trackLinks:true,
          accurateTrackBounce:true,
          trackHash:true});
} catch(e) { }
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/18343495" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<script type="text/javascript" src="https://yastatic.net/jquery/3.1.1/jquery.min.js"></script>

<div class='island'>

<div style="float: left; margin-right: -100%; margin-top: -1px;">
    <a href="/" title="Main page">
        <svg xmlns="http://www.w3.org/2000/svg" width="45" height="40" viewBox="0 0 9 8">
            <style>
                .o{fill:#fc0}
                .r{fill:#f00}
            </style>
            <path class="r" d="M0,7 h1 v1 h-1 z"/>
            <path class="o" d="M0,0 h1 v7 h-1 z"/>
            <path class="o" d="M2,0 h1 v8 h-1 z"/>
            <path class="o" d="M4,0 h1 v8 h-1 z"/>
            <path class="o" d="M6,0 h1 v8 h-1 z"/>
            <path class="o" d="M8,3.25 h1 v1.5 h-1 z"/>
        </svg>
    </a>
</div>

<h1 class='title'>Performance Comparison Of ClickHouse On Various Hardware</h1>
</div>

<div class='island'>

<div id='selectors'></div>

<h2>Relative query processing time (lower is better):</h2>
<div id='diagram' style='width: 100%;'></div>

<br />
<h2>Full results:</h2>

<div id='comparison_table'></div>

</div>

<div class='island'>
Submit your own results: <a href="https://clickhouse.tech/docs/en/operations/performance_test/">https://clickhouse.yandex/docs/en/operations/performance_test/</a><br/>
<br/>
Results for Lenovo B580 Laptop are from <b>Ragıp Ünal</b>. 16GB RAM 1600 GHz, 240GB SSD, Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz (2 Core / 4 HT)<br/>
Results for Time4vps.eu are from <b>Ragıp Ünal</b>.<br/>
Results for Dell PowerEdge R640, R641 (in Hetzner) are from <b>Dmirty Titov</b>.<br/>
Results for Dell PowerEdge R730 are from <b>Amos Bird</b>.<br/>
Results for Dell R530 are from <b>Yuriy Zolkin</b>.<br/>
Results for Xeon 2176G are from <b>Sergey Golod</b>.<br/>
Results for Azure DS3v2 are from <b>Boris Granveaud</b>.<br/>
Results for AWS are from <b>Wolf Kreuzerkrieg</b>.<br/>
Results for Huawei Taishan are from <b>Peng Gao</b> in sina.com.<br/>
Results for Selectel and AMD EPYC 7402P are from <b>Andrey Dudin</b>.<br/>
Xeon Gold 6230 server is using 4 x SAMSUNG datacenter class SSD in RAID-10.<br/>
Results for Yandex Managed ClickHouse for "cold cache" are biased and should not be compared, because cache was not flushed for every next query.<br/>
</div>

<script type="text/javascript">
generate_selectors($('#selectors'));
generate_comparison_table();
generate_diagram();
</script>

    </body>
</html>
